/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Comprobante_compra_productos.java
 *
 * Created on 15/06/2009, 01:36:21 AM
 */

package Ventas;
import General.Vendedor;
import javax.swing.JPanel;
import Control.Conexion;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import Control.MiModeloVentaBoleta;
/**
 *
 * @author GAMA
 */
public class Comprobante_venta_productos extends javax.swing.JPanel {
        Vendedor frmVendedor;
    JPanel pnlNuevo_comprobantev;
    MiModeloVentaBoleta detalle_comprobantev;
    int bandera=0;
    Integer codigo_usuario_auditoria=0;    
    /** Creates new form Comprobante_compra_productos */
    public Comprobante_venta_productos() {
        initComponents();
    }
    public Comprobante_venta_productos(Vendedor frmVendedor, Integer codigo_usuario_auditoria) {
        initComponents();
        this.codigo_usuario_auditoria=codigo_usuario_auditoria;
        this.frmVendedor=frmVendedor;
        inicializar_tabla_ventas();
    }
         public void inicializar_tabla_ventas(){
         Conexion c=new Conexion();
         tblComprobanteVentas.setModel(c.cargar_comprobantes_venta());
     }
     public JPanel getPanelContenedorVendedor()
    {
        return frmVendedor.getPanelContenedor();
    }

      public JPanel getPanelComprobantes()
    {
        return this;
    }
     public void inicializar_tabla_compras(){
         Conexion c=new Conexion();
         tblComprobanteVentas.setModel(c.cargar_comprobantes_compra());
     }
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        btnRegistrar = new javax.swing.JButton();
        btnModificar = new javax.swing.JButton();
        btnEliminarCompVenta = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        tblComprobanteVentas = new javax.swing.JTable();
        jLabel2 = new javax.swing.JLabel();
        btnImprimirCompVenta = new javax.swing.JButton();

        setLayout(null);

        btnRegistrar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Registrar16.gif"))); // NOI18N
        btnRegistrar.setMnemonic('r');
        btnRegistrar.setText("Registrar");
        btnRegistrar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnRegistrarActionPerformed(evt);
            }
        });
        add(btnRegistrar);
        btnRegistrar.setBounds(30, 70, 130, 30);

        btnModificar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Modificar16.gif"))); // NOI18N
        btnModificar.setMnemonic('m');
        btnModificar.setText("Modificar ");
        btnModificar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnModificarActionPerformed(evt);
            }
        });
        add(btnModificar);
        btnModificar.setBounds(190, 70, 130, 30);

        btnEliminarCompVenta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Eliminar16.gif"))); // NOI18N
        btnEliminarCompVenta.setMnemonic('e');
        btnEliminarCompVenta.setText("Eliminar");
        btnEliminarCompVenta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnEliminarCompVentaActionPerformed(evt);
            }
        });
        add(btnEliminarCompVenta);
        btnEliminarCompVenta.setBounds(350, 70, 120, 30);

        tblComprobanteVentas.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Código", "Fecha", "Cliente", "Monto IGV", "Monto Total"
            }
        ) {
            boolean[] canEdit = new boolean [] {
                true, true, false, true, true
            };

            public boolean isCellEditable(int rowIndex, int columnIndex) {
                return canEdit [columnIndex];
            }
        });
        jScrollPane1.setViewportView(tblComprobanteVentas);

        add(jScrollPane1);
        jScrollPane1.setBounds(30, 110, 700, 280);

        jLabel2.setFont(new java.awt.Font("Arial", 0, 20));
        jLabel2.setForeground(new java.awt.Color(0, 102, 204));
        jLabel2.setText("COMPROBANTES DE VENTA");
        add(jLabel2);
        jLabel2.setBounds(230, 20, 300, 30);

        btnImprimirCompVenta.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Imprimir16.gif"))); // NOI18N
        btnImprimirCompVenta.setText("Imprimir");
        btnImprimirCompVenta.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnImprimirCompVentaActionPerformed(evt);
            }
        });
        add(btnImprimirCompVenta);
        btnImprimirCompVenta.setBounds(500, 70, 120, 30);
    }// </editor-fold>//GEN-END:initComponents

    private void btnRegistrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnRegistrarActionPerformed
        // TODO add your handling code here:
       // TODO add your handling code here:
        bandera=1;
        Nuevo_comprobanteV nuevo_compro= new Nuevo_comprobanteV(this,bandera,codigo_usuario_auditoria);
        pnlNuevo_comprobantev=nuevo_compro;
        pnlNuevo_comprobantev.setSize(761,502);
        this.setVisible(false);
        frmVendedor.getPanelContenedor().add(pnlNuevo_comprobantev);
        pnlNuevo_comprobantev.repaint();
        pnlNuevo_comprobantev.setVisible(true);
    }//GEN-LAST:event_btnRegistrarActionPerformed

    private void btnModificarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnModificarActionPerformed
           // TODO add your handling code here:
                bandera=2;
      int cod;
         if(tblComprobanteVentas.getSelectedRow()!=-1){
                    cod=Integer.parseInt(tblComprobanteVentas.getValueAt(tblComprobanteVentas.getSelectedRow(),0).toString());
                        this.cargar_comprobantev_por_codigo(cod);


                }else{
                    JOptionPane.showMessageDialog(this,"Debe seleccionar un elemento de la tabla","Información", JOptionPane.WARNING_MESSAGE);
                }
}//GEN-LAST:event_btnModificarActionPerformed


      public void cargar_comprobantev_por_codigo(int codigo){
        String [] datos;
        bandera=2;//
        Conexion c=new Conexion();
        datos=c.cargar_encabezado_comprobante_venta(codigo);
        Nuevo_comprobanteV nuevo_comprov= new Nuevo_comprobanteV(this,bandera,codigo_usuario_auditoria);
        pnlNuevo_comprobantev=nuevo_comprov;
        
        nuevo_comprov.setCodigo(Integer.parseInt(datos[0]));
        nuevo_comprov.setDireccion(datos[1]);
        nuevo_comprov.setFecha(datos[2]);
        nuevo_comprov.setTipo_comprobante(datos[3]);
        nuevo_comprov.setCliente(datos[4]);
        nuevo_comprov.setNRUC(datos[5]);
        nuevo_comprov.setMonto_IGV(Float.parseFloat(datos[6]));
        nuevo_comprov.setMonto_total(Float.parseFloat(datos[7]));
        nuevo_comprov.setMonto_subtotal(Float.parseFloat(""+nuevo_comprov.redondear(Float.parseFloat(datos[7])-Float.parseFloat(datos[6]),2)));
        nuevo_comprov.setDni(datos[8]);
        nuevo_comprov.setCondicion_pago(datos[9]);
        nuevo_comprov.setOrden_servicio(datos[10]);
        nuevo_comprov.setOrden_compra(datos[11]);

        detalle_comprobantev= c.cargar_detalle_comprobante_venta(codigo);
        nuevo_comprov.setModel(detalle_comprobantev);
        pnlNuevo_comprobantev.setSize(761, 502);
        this.frmVendedor.getPanelContenedor().removeAll();
        frmVendedor.getPanelContenedor().add(pnlNuevo_comprobantev);
        frmVendedor.repaint();
        nuevo_comprov.habilitarBoton(true);
        frmVendedor.setVisible(false);
        frmVendedor.setVisible(true);


    }
      /* public DefaultTableModel getDetalle_comprobante(){
           return detalle_comprobante;
           
       }*/


    private void btnEliminarCompVentaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEliminarCompVentaActionPerformed
        // TODO add your handling code here:
        eliminar_comprobante();
}//GEN-LAST:event_btnEliminarCompVentaActionPerformed

    private void btnImprimirCompVentaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnImprimirCompVentaActionPerformed
        // TODO add your handling code here:
        imprimir_comprobante();
    }//GEN-LAST:event_btnImprimirCompVentaActionPerformed


public void eliminar_comprobante(){
    int cod;
         if(tblComprobanteVentas.getSelectedRow()!=-1){
                int rpta=msgmarticuloConfirmacion("¿Esta seguro que desea eliminar la seleccion?");
                if(rpta==0)
                {
                    cod=Integer.parseInt(tblComprobanteVentas.getValueAt(tblComprobanteVentas.getSelectedRow(),0).toString());
                    Conexion c=new Conexion();
                    c.eliminar_comprobante_ventas(codigo_usuario_auditoria,cod);
                    this.inicializar_tabla_ventas();
                }

         }else{
                    JOptionPane.showMessageDialog(this,"Debe seleccionar un elemento de la tabla","Información", JOptionPane.WARNING_MESSAGE);
                }


    }
    public int  msgmarticuloConfirmacion(String msg){
        Object[] opciones = {"Si", "No","Cancelar"};
        int n = JOptionPane.showOptionDialog(this,
                                    msg,
                                    "Información",
                                    JOptionPane.YES_NO_OPTION,
                                    JOptionPane.QUESTION_MESSAGE,
                                    null,
                                    opciones,
                                    opciones[2]);
       return n;
    
    }

    

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnEliminarCompVenta;
    private javax.swing.JButton btnImprimirCompVenta;
    private javax.swing.JButton btnModificar;
    private javax.swing.JButton btnRegistrar;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable tblComprobanteVentas;
    // End of variables declaration//GEN-END:variables

    public void imprimir_comprobante() {
        int cod;
         if(tblComprobanteVentas.getSelectedRow()!=-1){

               cod=Integer.parseInt(tblComprobanteVentas.getValueAt(tblComprobanteVentas.getSelectedRow(),0).toString());
               Conexion c=new Conexion();
              // c.eliminar_comprobante_ventas(codigo_usuario_auditoria,cod);
             
                String tipo_comprobante=tblComprobanteVentas.getValueAt(tblComprobanteVentas.getSelectedRow(),2).toString();
                if (tipo_comprobante.equals("Factura")){
                    c.factura_venta(""+cod);
                }else{
                    c.boleta_venta(""+cod);
                }

         }else{
                    JOptionPane.showMessageDialog(this,"Debe seleccionar un elemento de la tabla","Información", JOptionPane.WARNING_MESSAGE);
                }


    }

}
